package org.chen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.chen.domain.dto.UpdatePasswordDTO;
import org.chen.domain.dto.UserQueryDTO;
import org.chen.domain.entity.User;
import org.chen.domain.response.PageResult;
import org.chen.domain.vo.UserVO;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

public interface UserService extends IService<User> {
    UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;

    UserVO getCurrentUserInfo();

    void updatePassword(UpdatePasswordDTO dto);

    PageResult<UserVO> getUserList(UserQueryDTO query);

    boolean hasPermission(String s);
}
